home *** CD-ROM | disk | FTP | other *** search
- Subject: v18i082: Elm mail system, release 2.2, Part03/24
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: dsinc!syd@uunet.UU.NET (Syd Weinstein)
- Posting-number: Volume 18, Issue 82
- Archive-name: elm2.2/part03
-
- #!/bin/sh
- # this is part 3 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file Configure continued
- #
- CurArch=3
- if test ! -r s2_seq_.tmp
- then echo "Please unpack part 1 first!"
- exit 1; fi
- ( read Scheck
- if test "$Scheck" != $CurArch
- then echo "Please unpack part $Scheck next!"
- exit 1;
- else exit 0; fi
- ) < s2_seq_.tmp || exit 1
- echo "x - Continuing file Configure"
- sed 's/^X//' << 'SHAR_EOF' >> Configure
- Xd_mkdir='$d_mkdir'
- Xd_portable='$d_portable'
- Xd_symlink='$d_symlink'
- Xd_vfork='$d_vfork'
- Xd_voidsig='$d_voidsig'
- Xd_whoami='$d_whoami'
- Xn='$n'
- Xc='$c'
- Xpackage='$package'
- Xspitshell='$spitshell'
- Xshsharp='$shsharp'
- Xsharpbang='$sharpbang'
- Xstartsh='$startsh'
- Xdefine='$define'
- Xloclist='$loclist'
- Xexpr='$expr'
- Xsed='$sed'
- Xecho='$echo'
- Xcat='$cat'
- Xrm='$rm'
- Xmv='$mv'
- Xcp='$cp'
- Xtail='$tail'
- Xtr='$tr'
- Xmkdir='$mkdir'
- Xsort='$sort'
- Xuniq='$uniq'
- Xgrep='$grep'
- Xtrylist='$trylist'
- Xtest='$test'
- Xinews='$inews'
- Xegrep='$egrep'
- Xmore='$more'
- Xpg='$pg'
- XMcc='$Mcc'
- Xvi='$vi'
- Xmailx='$mailx'
- Xmail='$mail'
- Xcpp='$cpp'
- Xperl='$perl'
- Xemacs='$emacs'
- Xls='$ls'
- Xrmail='$rmail'
- Xsendmail='$sendmail'
- Xshar='$shar'
- Xsmail='$smail'
- Xtbl='$tbl'
- Xtroff='$troff'
- Xnroff='$nroff'
- Xuname='$uname'
- Xuuname='$uuname'
- Xline='$line'
- Xchgrp='$chgrp'
- Xchmod='$chmod'
- Xlint='$lint'
- Xsleep='$sleep'
- Xpr='$pr'
- Xtar='$tar'
- Xln='$ln'
- Xlpr='$lpr'
- Xlp='$lp'
- Xtouch='$touch'
- Xmake='$make'
- Xbin='$bin'
- Xd_calendar='$d_calendar'
- Xcalendar='$calendar'
- Xd_crypt='$d_crypt'
- Xcryptlib='$cryptlib'
- Xd_cuserid='$d_cuserid'
- Xd_flock='$d_flock'
- Xd_gethname='$d_gethname'
- Xd_douname='$d_douname'
- Xd_phostname='$d_phostname'
- Xd_host_comp='$d_host_comp'
- Xd_getopt='$d_getopt'
- Xd_havedbm='$d_havedbm'
- Xdbm='$dbm'
- Xd_havetlib='$d_havetlib'
- Xtermlib='$termlib'
- Xd_internet='$d_internet'
- Xd_mboxedit='$d_mboxedit'
- Xd_newauto='$d_newauto'
- Xd_optreturn='$d_optreturn'
- Xd_pafirst='$d_pafirst'
- Xd_useuuname='$d_useuuname'
- Xd_notouchadd='$d_notouchadd'
- Xd_noaddfrom='$d_noaddfrom'
- Xd_usedomain='$d_usedomain'
- Xd_nocheckvalid='$d_nocheckvalid'
- Xd_remlock='$d_remlock'
- Xmaxattempts='$maxattempts'
- Xd_rename='$d_rename'
- Xd_setgid='$d_setgid'
- Xmailermode='$mailermode'
- Xd_strings='$d_strings'
- Xd_pwdinsys='$d_pwdinsys'
- Xincludepath='$includepath'
- Xd_tempnam='$d_tempnam'
- Xtempnamo='$tempnamo'
- Xtempnamc='$tempnamc'
- Xd_termio='$d_termio'
- Xd_tminsys='$d_tminsys'
- Xd_tz_min='$d_tz_min'
- Xd_useembed='$d_useembed'
- Xd_utimbuf='$d_utimbuf'
- Xdefbatsub='$defbatsub'
- Xdefeditor='$defeditor'
- Xelmalias='$elmalias'
- Xmaxsysalias='$maxsysalias'
- Xmaxuseralias='$maxuseralias'
- Xhostname='$hostname'
- Xphostname='$phostname'
- Xmydomain='$mydomain'
- Xlib='$lib'
- Xlibc='$libc'
- Xlinepr='$linepr'
- Xmaildir='$maildir'
- Xmailer='$mailer'
- Xmailgrp='$mailgrp'
- Xmansrc='$mansrc'
- Xmanext='$manext'
- Xmodels='$models'
- Xsplit='$split'
- Xsmall='$small'
- Xmedium='$medium'
- Xlarge='$large'
- Xhuge='$huge'
- Xoptimize='$optimize'
- Xccflags='$ccflags'
- Xldflags='$ldflags'
- Xcc='$cc'
- Xlibs='$libs'
- Xnametype='$nametype'
- Xd_passnames='$d_passnames'
- Xd_berknames='$d_berknames'
- Xd_usgnames='$d_usgnames'
- Xpasscat='$passcat'
- Xpager='$pager'
- Xpathalias='$pathalias'
- Xdomains='$domains'
- Xlsysfile='$lsysfile'
- Xlsysvssys='$lsysvssys'
- Xprefshell='$prefshell'
- Xrmttape='$rmttape'
- Xroff='$roff'
- Xtmpdir='$tmpdir'
- Xxencf='$xencf'
- Xxenlf='$xenlf'
- Xd_xenix='$d_xenix'
- Xd_bsd='$d_bsd'
- XCONFIG=true
- XEOT
- X
- XCONFIG=true
- X
- Xecho " "
- Xdflt=''
- Xfastread=''
- Xecho "If you didn't make any mistakes, then just type a carriage return here."
- Xrp="If you need to edit config.sh, do it as a shell escape here:"
- X$echo $n "$rp $c"
- X. UU/myread
- Xcase "$ans" in
- X'') ;;
- X*) : in case they cannot read
- X eval $ans;;
- Xesac
- X. ./config.sh
- X
- Xecho " "
- Xecho "Doing variable substitutions on .SH files..."
- Xset x `awk '{print $1}' <MANIFEST | $grep '\.SH'`
- Xshift
- Xcase $# in
- X0) set x *.SH; shift;;
- Xesac
- Xif test ! -f $1; then
- X shift
- Xfi
- Xfor file in $*; do
- X case "$file" in
- X */*)
- X dir=`$expr X$file : 'X\(.*\)/'`
- X file=`$expr X$file : 'X.*/\(.*\)'`
- X (cd $dir && . $file)
- X ;;
- X *)
- X . $file
- X ;;
- X esac
- Xdone
- Xif test -f config.h.SH; then
- X if test ! -f config.h; then
- X : oops, they left it out of MANIFEST, probably, so do it anyway.
- X . config.h.SH
- X fi
- Xfi
- X
- Xif $contains '^depend:' Makefile >/dev/null 2>&1; then
- X dflt=n
- X $cat <<EOM
- X
- XNow you need to generate make dependencies by running "make depend".
- XYou might prefer to run it in background: "make depend > makedepend.out &"
- XIt can take a while, so you might not want to run it right now.
- X
- XEOM
- X rp="Run make depend now? [$dflt]"
- X $echo $n "$rp $c"
- X . UU/myread
- X case "$ans" in
- X y*) make depend
- X echo "Now you must run a make."
- X ;;
- X *) echo "You must run 'make depend' then 'make'."
- X ;;
- X esac
- Xelif test -f Makefile; then
- X echo " "
- X echo "Now you must run a make."
- Xelse
- X echo "Done."
- Xfi
- X
- X$rm -f kit*isdone
- X: the following is currently useless
- Xcd UU && $rm -f $rmlist
- X: since this removes it all anyway
- Xcd .. && $rm -rf UU
- X: end of Configure
- SHAR_EOF
- echo "File Configure is complete"
- chmod 0555 Configure || echo "restore of Configure fails"
- echo "x - extracting config.h.SH (Text)"
- sed 's/^X//' << 'SHAR_EOF' > config.h.SH &&
- Xcase $CONFIG in
- X'')
- X if test ! -f config.sh; then
- X ln ../config.sh . || \
- X ln ../../config.sh . || \
- X ln ../../../config.sh . || \
- X (echo "Can't find config.sh."; exit 1)
- X echo "Using config.sh from above..."
- X fi
- X . ./config.sh
- X ;;
- Xesac
- Xecho "Extracting config.h (with variable substitutions)"
- Xsed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!'
- X/* config.h
- X * This file was produced by running the config.h.SH script, which
- X * gets its values from config.sh, which is generally produced by
- X * running Configure.
- X *
- X * Feel free to modify any of this as the need arises. Note, however,
- X * that running config.h.SH again will wipe out any changes you've made.
- X * For a more permanent change edit config.sh and rerun config.h.SH.
- X */
- X
- X
- X/* EUNICE:
- X * This symbol, if defined, indicates that the program is being compiled
- X * under the EUNICE package under VMS. The program will need to handle
- X * things like files that don't go away the first time you unlink them,
- X * due to version numbering. It will also need to compensate for lack
- X * of a respectable link() command.
- X */
- X/* VMS:
- X * This symbol, if defined, indicates that the program is running under
- X * VMS. It is currently only set in conjunction with the EUNICE symbol.
- X */
- X#$d_eunice EUNICE /**/
- X#$d_eunice VMS /**/
- X
- X/* CPPSTDIN:
- X * This symbol contains the first part of the string which will invoke
- X * the C preprocessor on the standard input and produce to standard
- X * output. Typical value of "cc -E" or "/lib/cpp".
- X */
- X/* CPPMINUS:
- X * This symbol contains the second part of the string which will invoke
- X * the C preprocessor on the standard input and produce to standard
- X * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- X * to specify standard input, otherwise the value is "".
- X */
- X#define CPPSTDIN "$cppstdin"
- X#define CPPMINUS "$cppminus"
- X
- X/* index:
- X * This preprocessor symbol is defined, along with rindex, if the system
- X * uses the strchr and strrchr routines instead.
- X */
- X/* rindex:
- X * This preprocessor symbol is defined, along with index, if the system
- X * uses the strchr and strrchr routines instead.
- X */
- X#$d_index index strchr /* cultural */
- X#$d_index rindex strrchr /* differences? */
- X
- X/* MKDIR:
- X * This symbol, if defined, indicates that the mkdir routine is available
- X * to create directories. Otherwise you should fork off a new process to
- X * exec /bin/mkdir.
- X */
- X#$d_mkdir MKDIR /**/
- X
- X/* PORTABLE:
- X * This symbol, if defined, indicates to the C program that it should
- X * not assume that it is running on the machine it was compiled on.
- X * The program should be prepared to look up the host name, translate
- X * generic filenames, use PATH, etc.
- X */
- X#$d_portable PORTABLE /**/
- X
- X/* SYMLINK:
- X * This symbol, if defined, indicates that the symlink routine is available
- X * to create symbolic links.
- X */
- X#$d_symlink SYMLINK /**/
- X
- X/* vfork:
- X * This symbol, if defined, remaps the vfork routine to fork if the
- X * vfork() routine isn't supported here.
- X */
- X#$d_vfork vfork fork /**/
- X
- X/* VOIDSIG:
- X * This symbol is defined if this system declares "void (*signal())()" in
- X * signal.h. The old way was to declare it as "int (*signal())()". It
- X * is up to the package author to declare things correctly based on the
- X * symbol.
- X */
- X#$d_voidsig VOIDSIG /**/
- X
- X/* WHOAMI:
- X * This symbol, if defined, indicates that the program may include
- X * whoami.h.
- X */
- X#$d_whoami WHOAMI /**/
- X
- X/* ENABLE_CALENDAR:
- X * This symbol, if defined, indicates that the calendar feature
- X * should be supported.
- X */
- X#$d_calendar ENABLE_CALENDAR /**/
- X#define dflt_calendar_file "$calendar"
- X
- X/* CRYPT:
- X * This symbol, if defined, indicates that the crypt routine is available
- X * to encrypt passwords and the like.
- X */
- X#$d_crypt CRYPT /**/
- X
- X/* NEED_CUSERID:
- X * This symbol, if defined, means to include our own cuserid().
- X */
- X#$d_cuserid NEED_CUSERID /**/
- X
- X/* LOCK_BY_FLOCK
- X * This symbol, if defined, indicates that the flock mailbox locking should also be used.
- X */
- X#$d_flock LOCK_BY_FLOCK /**/
- X
- X/* GETHOSTNAME:
- X * This symbol, if defined, indicates that the C program may use the
- X * gethostname() routine to derive the host name. See also DOUNAME
- X * and PHOSTNAME.
- X */
- X/* DOUNAME:
- X * This symbol, if defined, indicates that the C program may use the
- X * uname() routine to derive the host name. See also GETHOSTNAME and
- X * PHOSTNAME.
- X */
- X/* PHOSTNAME:
- X * This symbol, if defined, indicates that the C program may use the
- X * contents of PHOSTNAME as a command to feed to the popen() routine
- X * to derive the host name. See also GETHOSTNAME and DOUNAME.
- X */
- X/* HOSTCOMPILED:
- X * This symbol, if defined, indicated that the host name is compiled
- X * in from the string hostname
- X */
- X#$d_gethname GETHOSTNAME /**/
- X#$d_douname DOUNAME /**/
- X#$d_phostname PHOSTNAME "$phostname" /**/
- X#$d_host_comp HOSTCOMPILED /**/
- X
- X/* GETOPT:
- X * This symbol, if defined, indicates that the getopt() routine exists.
- X */
- X#$d_getopt GETOPT /**/
- X
- X/* USE_DBM
- X * This symbol, when defined, indicates that the pathalias file
- X * is available as a dbm file. There is nothing to include.
- X */
- X#$d_havedbm USE_DBM /**/
- X
- X/* HAVETERMLIB:
- X * This symbol, when defined, indicates that termlib-style routines
- X * are available. There is nothing to include.
- X */
- X#$d_havetlib HAVETERMLIB /**/
- X
- X/* INTERNET:
- X * This symbol, if defined, indicates that there is a mailer available
- X * which supports internet-style addresses (user@site.domain).
- X */
- X#$d_internet INTERNET /**/
- X
- X/* ALLOW_MAILBOX_EDITING:
- X * This symbol, if defined, indicates that the E)dit mailbox
- X * function is to be allowed.
- X */
- X#$d_mboxedit ALLOW_MAILBOX_EDITING /**/
- X
- X/* AUTO_BACKGROUND:
- X * This symbol, if defined, indicates that newmail should go to
- X * the background automatically.
- X */
- X#$d_newauto AUTO_BACKGROUND /**/
- X
- X/* OPTIMIZE_RETURN:
- X * This symbol, if defined, indicates that Elm should optimize the
- X * return address of aliases.
- X */
- X#$d_optreturn OPTIMIZE_RETURN /**/
- X
- X/* LOOK_CLOSE_AFTER_SEARCH:
- X * This symbol, if defined, indicates that the pathalias route
- X * should be used for machines we talk to directly.
- X */
- X/* USE_UUNAME:
- X * This symbol, if defined, indicates that uuname should
- X * be used before trying to read the Systems or L.sys file.
- X */
- X/* DONT_TOUCH_ADDRESSES:
- X * This symbol, if defined, indicates that elm should not
- X * touch outbound addresses
- X */
- X/* DONT_ADD_FROM:
- X * This symbol, if defined, indicates that elm should not adD
- X * the From: header
- X */
- X/* USE_DOMAIN:
- X * This symbol, if defined, indicates that elm should add
- X * the domain name to our address
- X */
- X/* NOCHECK_VALIDNAME:
- X * This symbol, if defined, indicates that elm should not
- X * check the addresses against mailboxes on this system.
- X */
- X#$d_pafirst LOOK_CLOSE_AFTER_SEARCH /**/
- X#$d_useuuname USE_UUNAME /**/
- X#$d_notouchadd DONT_TOUCH_ADDRESSES /**/
- X#$d_noaddfrom DONT_ADD_FROM /**/
- X#$d_usedomain USE_DOMAIN /**/
- X#$d_nocheckvalid NOCHECK_VALIDNAME /**/
- X
- X/* REMOVE_AT_LAST:
- X * This symbol, if defined, tells the C code to remove the lock
- X * file on lock failure.
- X */
- X/* MAX_ATTEMPTS:
- X * This symbol defines to the C code the number of times to try
- X * locking the mail file.
- X */
- X#$d_remlock REMOVE_AT_LAST /**/
- X#define MAX_ATTEMPTS $maxattempts
- X
- X/* RENAME:
- X * This symbol, if defined, indicates that the rename() routine exists.
- X */
- X#$d_rename RENAME /**/
- X
- X/* SAVE_GROUP_MAILBOX_ID:
- X * This symbol, if defined, indica;es that Elm needs to restore the
- X * group id of the file, as it is running setgid.
- X */
- X#$d_setgid SAVE_GROUP_MAILBOX_ID /**/
- X
- X/* STRINGS:
- X * This symbol, if defined, indicates that the file strings.h
- X * should be included not string.h
- X */
- X/* PWDINSYS:
- X * This symbol, if defined, indicates that the file pwd.h
- X * is in the sys sub directory
- X */
- X#$d_strings STRINGS /**/
- X#$d_pwdinsys PWDINSYS /**/
- X
- X/* TEMPNAM:
- X * This symbol, if defined, indicates that the tempnam() routine exists.
- X */
- X#$d_tempnam TEMPNAM /**/
- X
- X/* TERMIO:
- X * This symbol, if defined, indicates that the program should include
- X * termio.h rather than sgtty.h. There are also differences in the
- X * ioctl() calls that depend on the value of this symbol.
- X */
- X#$d_termio TERMIO /**/
- X
- X/* TMINSYS:
- X * This symbol is defined if this system declares "struct tm" in
- X * in <sys/time.h> rather than <time.h>. We can't just say
- X * -I/usr/include/sys because some systems have both time files, and
- X * the -I trick gets the wrong one.
- X */
- X/* TZ_MINUTESWEST:
- X * This symbol is defined if this system uses tz_minutes west
- X * in time.h instead of timezone. Only for BSD Systems
- X */
- X#$d_tminsys TMINSYS /**/
- X#$d_tz_min TZ_MINUTESWEST /**/
- X
- X/* USE_EMBEDDED_ADDRESSES:
- X * This symbol, if defined, indicates that replyto: and from:
- X * headers can be trusted.
- X */
- X#$d_useembed USE_EMBEDDED_ADDRESSES /**/
- X
- X/* NOUTIMBUF:
- X * This symbol, if defined, means to include our own struct utimbuf.
- X */
- X#$d_utimbuf NOUTIMBUF /**/
- X
- X/* DEFEDITOR:
- X * This symbol contains the name of the default editor.
- X */
- X#define DEFEDITOR "$defeditor" /**/
- X
- X/* MAX_SALIASES:
- X * This symbol defines the number of system wide aliases allowed.
- X */
- X/* MAX_UALIASES:
- X * This symbol defines the number of per user aliases allowed.
- X */
- X#define MAX_SALIASES $maxsysalias /* number of system aliases allowed */
- X#define MAX_UALIASES $maxuseralias /* number of user aliases allowed */
- X
- X/* HOSTNAME:
- X * This symbol contains name of the host the program is going to run on.
- X * The domain is not kept with hostname, but must be gotten from MYDOMAIN.
- X * The dot comes with MYDOMAIN, and need not be supplied by the program.
- X * If gethostname() or uname() exist, HOSTNAME may be ignored.
- X */
- X/* MYDOMAIN:
- X * This symbol contains the domain of the host the program is going to
- X * run on. The domain must be appended to HOSTNAME to form a complete
- X * host name. The dot comes with MYDOMAIN, and need not be supplied by
- X * the program. If the host name is derived from PHOSTNAME, the domain
- X * may or may not already be there, and the program should check.
- X */
- X#define HOSTNAME "$hostname" /**/
- X#define MYDOMAIN "$mydomain" /**/
- X
- X/* PASSNAMES:
- X * This symbol, if defined, indicates that full names are stored in
- X * the /etc/passwd file.
- X */
- X/* BERKNAMES:
- X * This symbol, if defined, indicates that full names are stored in
- X * the /etc/passwd file in Berkeley format (name first thing, everything
- X * up to first comma, with & replaced by capitalized login id, yuck).
- X */
- X/* USGNAMES:
- X * This symbol, if defined, indicates that full names are stored in
- X * the /etc/passwd file in USG format (everything after - and before ( is
- X * the name).
- X */
- X#$d_passnames PASSNAMES /* (undef to take name from ~/.fullname) */
- X#$d_berknames BERKNAMES /* (that is, ":name,stuff:") */
- X#$d_usgnames USGNAMES /* (that is, ":stuff-name(stuff):") */
- X
- X/* PREFSHELL:
- X * This symbol contains the full name of the preferred user shell on this
- X * system. Usual values are /bin/csh, /bin/ksh, /bin/sh.
- X */
- X#define PREFSHELL "$prefshell" /**/
- X
- X/* XENIX:
- X * This symbol, if defined, indicates this is a Xenix system,
- X * for knocking out the far keyword in selected places.
- X */
- X/* BSD:
- X * This symbol, if defined, indicates this is a BSD type system,
- X */
- X#$d_xenix XENIX /**/
- X#$d_bsd BSD /**/
- X
- X!GROK!THIS!
- SHAR_EOF
- chmod 0444 config.h.SH || echo "restore of config.h.SH fails"
- echo "x - extracting Makefile.SH (Text)"
- sed 's/^X//' << 'SHAR_EOF' > Makefile.SH &&
- Xcase $CONFIG in
- X'')
- X if test ! -f config.sh; then
- X ln ../config.sh . || \
- X ln ../../config.sh . || \
- X ln ../../../config.sh . || \
- X (echo "Can't find config.sh."; exit 1)
- X fi
- X . ./config.sh
- X ;;
- Xesac
- Xcase "$0" in
- X*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
- Xesac
- X
- Xcase "$d_symlink" in
- X*define*) sln='ln -s' ;;
- X*) sln='ln';;
- Xesac
- X
- Xecho "Extracting Makefile (with variable substitutions)"
- Xcat >Makefile <<!GROK!THIS!
- X#
- X# $Id: Makefile.SH,v 2.22 89/03/25 21:44:45 syd Exp $
- X#
- X# Makefile for the entire ELM mail system
- X#
- X# (C) Copyright 1986, 1987, by Dave Taylor
- X# (C) Copyright 1988, 1989, USENET Community Trust
- X#
- X# $Log: Makefile.SH,v $
- X# Revision 2.22 89/03/25 21:44:45 syd
- X# Initial 2.2 Release checkin
- X#
- X#
- X
- X# Variables established by Configure
- XCAT = $cat
- XGREP = $grep
- XECHO = $echo
- XMAKE = $make
- XPR = $pr
- XSHAR = $shar -s 60000
- XSLEEP = $sleep
- XTAR = $tar
- XTAPE = $rmttape
- X
- X!GROK!THIS!
- Xcat >>Makefile <<'!NO!SUBS!'
- X# Other variables
- XSHELL = /bin/sh
- XSOURCE_FILES = `$(GREP) -v 'doc/' MANIFEST`
- XDISTRIBUTED_FILES = `$(CAT) MANIFEST`
- X
- X
- X# Targets
- X# Give default target first and alone
- Xdefault_target: all
- X
- X# Targets that are simply executed in each subordinate makefile as is
- Xall install uninstall lint clean:
- X cd src; $(MAKE) -$(MAKEFLAGS) $@
- X cd utils; $(MAKE) -$(MAKEFLAGS) $@
- X cd filter; $(MAKE) -$(MAKEFLAGS) $@
- X cd doc; $(MAKE) -$(MAKEFLAGS) $@
- X
- X# Targets that apply to all elm at once
- Xlisting:
- X @$(ECHO) "Making source listing in file LISTING."
- X @$(PR) -n -f $(SOURCE_FILES) > LISTING
- X
- X# This is the only target that gets installed even if not out-of-date
- X# with respect the files from which it is installed.
- Xrmt-install: rmt-defined
- X @($(ECHO) "Warning: This assumes you have already installed";\
- X $(ECHO) "ELM on the remote machine <$(REMOTE)>. If this is";\
- X $(ECHO) "not the case, interrupt this process quickly!";\
- X $(SLEEP) 10;)
- X cd src; $(MAKE) -$(MAKEFLAGS) REMOTE=$$(REMOTE) $@
- X cd filter; $(MAKE) -$(MAKEFLAGS) REMOTE=$$(REMOTE) $@
- X cd utils; $(MAKE) -$(MAKEFLAGS) REMOTE=$$(REMOTE) $@
- X cd doc; $(MAKE) -$(MAKEFLAGS) REMOTE=$$(REMOTE) $@
- X
- Xrmt-defined:
- X @(if [ "$(REMOTE)" = "" ];\
- X then\
- X $(ECHO) "You need to define 'REMOTE' as the remote file system";\
- X $(ECHO) "for this particular command. The easiest way to do this";\
- X $(ECHO) "to type:";\
- X $(ECHO) " make REMOTE=<remote file system> rmt-install";\
- X exit 1;\
- X fi);
- X
- Xshar:
- X $(SHAR) $(DISTRIBUTED_FILES)
- X
- Xtar:
- X $(TAR) cvf $(TAPE) $(DISTRIBUTED_FILES)
- X
- X# Targets that are really in subordinate make files
- Xdocumentation:
- X cd doc; $(MAKE) -$(MAKEFLAGS) $@
- X
- Xelm:
- X cd src; $(MAKE) -$(MAKEFLAGS) all
- X
- X# The dummy dependency here prevents make from thinking the target is the
- X# filter directory that sits in the current directory, rather than
- X# an abstract target.
- Xfilter: _filter
- X
- X_filter:
- X cd filter; $(MAKE) -$(MAKEFLAGS) all
- X
- Xutils:
- X cd utils; $(MAKE) -$(MAKEFLAGS) all
- X
- X!NO!SUBS!
- SHAR_EOF
- chmod 0444 Makefile.SH || echo "restore of Makefile.SH fails"
- echo "x - extracting doc/Alias.guide (Text)"
- sed 's/^X//' << 'SHAR_EOF' > doc/Alias.guide &&
- X\" @(#)$Id: Alias.guide,v 2.8 89/03/25 21:44:47 syd Exp $
- X\"
- X\" A guide to the ELM alias system and so on.
- X\" format with:
- X\" tbl Alias.guide | troff -mn > Alias.format'
- X\"
- X\" (C) Copyright 1986, 1987 Dave Taylor
- X\" (C) Copyright 1988, 1989 USENET Community Trust
- X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames
- X\" etc. should go to:
- X\" Syd Weinstein elm@dsinc.UUCP (dsinc!elm)
- X\"
- X\" $Log: Alias.guide,v $
- X\" Revision 2.8 89/03/25 21:44:47 syd
- X\" Initial 2.2 Release checkin
- X\"
- X\"
- X.tm Have we been run through "tbl" first?? I hope so!
- X.po 1i
- X.ds h0
- X.ds h1
- X.ds h2
- X.ds f0
- X.ds f1
- X.ds f2
- X.nr Hy 1
- X.nr Pt 1
- X.nr Pi 0
- X.lg 0
- X.rs
- X.za
- X.sp |3.0i
- X.ce 99
- X.ps 20
- X.ss 18
- X.vs 12
- X\f3The Elm Alias System Users Guide\f1
- X.sp 4
- X.ps 12
- X.ss 12
- X\f2What aliases are and how to use them
- Xin the \f3Elm\fP mail system\f1
- X.sp 2
- XDave Taylor
- X.sp
- XHewlett-Packard Laboratories
- X1501 Page Mill Road
- XPalo Alto CA
- X94304
- X.sp 4
- Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor
- X.sp 4
- X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
- X.sp
- XSyd Weinstein
- XDatacomp Systems, Inc.
- X3837 Byron Road
- XHuntingdon Valley, PA 19006-2320
- X.sp
- Xemail: elm\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1elm
- X.sp 2
- X\s18\f3\(co\f1\s12 Copyright 1986, 1987 by Dave Taylor
- X\s18\f3\(co\f1\s12 Copyright 1988, 1989 by The USENET Community Trust
- X.ps 10
- X.ss 12
- X.vs 12
- X.bp 1
- X.sp 5
- X.ps 14
- X.ss 12
- X.vs 16
- X\f3The Elm Alias System Users Guide\f1
- X.ds h0 "Alias Users Guide
- X.ds h1
- X.ds h2 "Version 2.2
- X.ds f0 "April 1, 1989
- X.ds f1
- X.ds f2 "Page %
- X.sp
- X.ps 10
- X.ss 12
- X.vs 12
- X(Version 2.2)
- X.sp 2
- XDave Taylor
- X.sp
- XHewlett-Packard Laboratories
- X1501 Page Mill Road
- XPalo Alto CA
- X94304
- X.sp
- Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor
- X.sp 2
- X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
- X.sp
- XSyd Weinstein
- XDatacomp Systems, Inc.
- X3837 Byron Road
- XHuntingdon Valley, PA 19006-2320
- X.sp
- Xemail: elm\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1elm
- X.sp 2
- XApril 1, 1989
- X.ce 0
- X.sp 3
- X.pg
- XThis document is intended as a supplement to the \f2Elm Users Guide\f1
- Xand is only of interest to those users desiring more knowledge
- Xabout how aliases work and how to create strange and exciting
- Xaliases for their systems (okay, so maybe it's not \f2that\f1 exciting!)
- X.sp
- X.pg
- XThis document is broken up into the following sections;
- Xuser aliases,
- Xgroup aliases,
- Xsystem aliases,
- Xediting and installing new aliases,
- Xthe host routing database,
- Xthe domain routing database,
- Xgeneral warnings and other chitchat.
- X.sp
- X.hn 1 User Aliases
- X
- XThe most simple type of aliases in the \f3Elm\f1 system are individual
- Xuser aliases. These are made up of three parts;
- X.nf
- X \f2aliasname list\f1 = \f2username\f1 = \f2address\f1 \s-2\u1\d\s0
- X.fn
- X1. Notice that the alias separator has moved from being a colon
- Xcharacter (`:') to the equals sign (`=').
- XThis is due to the requirements of the X.400 addressing scheme.
- X.ef
- X.fi
- XWhere the \f2aliasname list\f1 is either a single aliasname\s-2\u2\d\s0
- X.fn
- X2. aliasnames can be any alphanumeric character, a `-' character,
- Xor an underscore (`_').
- X.ef
- Xor a list of aliasnames separated by commas.
- X.pg
- X\f2Username\f1 is used to indicate the full `real name' of the user.
- XFor example, if you had an alias for `taylor' to get to me, the
- X\f2username\f1 field would contain `Dave Taylor' or
- Xperhaps `Dave Taylor at HP'
- Xor some other permutation. \f3Elm\f1
- Xuses this information to add the users full name to the addresses of
- Xoutbound mail to get more readable addresses.
- X.pg
- X\f2Address\f1 is either the users full electronic mail address or, if
- Xthe machine routing database is installed, the minimum address needed
- Xto specify the destination. For example, say our routing database
- Xcontained information on how to get to machine `hp-sdd' and I wanted
- Xto have an address for my friend Ken there \(em I could have his address
- Xspecified as simply `ken@hp-sdd' (or alternatively `hp-sdd!ken' since
- Xthe two are functionally equivalent).
- X.sp
- X.pg 0
- XLet's get on to some examples, shall we?
- X.sp
- XConsider this excerpt from my own \f2.elm/aliases.text\f1 file;
- X
- X.nf
- X.ft CW
- X.in .5i
- X.ta \w'frank,minjarez 'u \w'frank,minjarez = Frank Minjarez 'u
- X# Mail aliases for Dave Taylor
- X# Friends from UCSD
- Xaddie = Addie Silva = addie@hp-sdd.SDD.HP.COM
- Xfrank,minjarez = Frank Minjarez = Minjarez.Verify@dockmaster.arpa
- Xpizzini = Ken Pizzini = hplabs!ucbvax!ucdavis!pai!ken
- X.ft 1
- X
- X.in 0
- X.fi
- XNote that the alias for Frank Minjarez has two \f2aliasnames\f1 associated
- Xwith it,
- X.ft CW
- Xfrank\f1 and
- X.ft CW
- Xminjarez\f1.
- XAlso notice that the first and second aliases
- Xuse the ARPA Internet style naming convention of \f2user@machine\f1
- Xwhereas the third uses the UUCP notation of \f2machine!user\f1.
- X.pg
- XFor the most part, the notational format is transparent within the
- Xalias file \(em the only time it \f2does\f1 make a difference
- Xis if you have to specify more than the machine that the user is
- Xreceiving mail on (as in the third example above).
- X.pg
- XSuffice to say that if you must specify any sort of uucp route
- Xthat you should use the uucp notation as much as possible to ensure
- Xthat the system expands the correct machine name. Similarly, if
- Xyou're bouncing mail through different ARPA Internet sites (to
- Xget to a foreign system, as in the example below) you should use the
- Xnotation that system expects:
- X
- X.ft CW
- X.ti .5i
- X listserv%byuadmin.BITNET@rugters.edu
- X.ft 1
- X.sp
- X.hn 1 Group Aliases
- X
- XAfter the confusion of user aliases, group aliases are even more
- Xfun! For the most part the notation is very similar;
- X
- X \f2aliasname list\f1 = \f2groupname\f1 = \f2list of people\f1
- X
- XWhere \f2aliasname list\f1 and \f2groupname\f1 are exactly equivalent
- Xto the corresponding fields in user aliases.
- X.pg
- XThe interesting part is the \f2list of people\f1 field; this
- Xfield is actually in the same notation as the aliasname list,
- Xso it's really quite easy to create.
- XIt's best to illustrate by example:
- X
- X.ft CW
- X.nf
- X.in .5i
- Xfriends, mypals = The Gang of Six = joe, larry, mary, joanna,
- X\h'\w'friends, mypals = The Gang of Six = 'u'nancy, michael
- X.ft 1
- X
- X.in 0
- X.fi
- X(Notice that you can continue onto as many lines as you'd like so
- Xlong as each additional line start with either a \s8SPACE\s10 or a \s8TAB\s10
- Xcharacter)
- X.pg
- XThe major limitation with group aliases is that each of the
- Xpeople in the list must be a \f2previously defined alias\f1
- Xor a valid mail address on the current machine.
- X.pg
- XWhat does this mean? That the following excerpt from an alias file:
- X
- X.in .5i
- X.ft CW
- X.nf
- X.ta \w'hawaii 'u \w'hawaii = The Hawaiian Twins 'u
- Xhawaii = The Hawaiian Twins = joe@cs.rit.edu, maoa
- Xmaoa = Maoa Lichtenski Jr = maoa@Hawaii.cs.uh.edu
- X.ft 1
- X
- X.in 0
- X.fi
- Xwill fail for two reasons \(em not only does the group \f2list of people\f1
- Xcontain a complex address, but it also contains an aliasname that is
- Xdefined \f2further on\f1 in
- Xthe \f2.elm/aliases.text\f1 file.
- X.pg
- XThe correct way to have the previous aliases in the file are to have them
- Xorganized like:
- X
- X.ft CW
- X.in .5i
- X.ta \w'hawaii 'u \w'hawaii = The Hawaiian Twins 'u
- X.nf
- Xjoe = Joe Lichtenski = joe@cs.rit.edu
- Xmaoa = Maoa Lichtenski Jr = maoa@Hawaii.cs.uh.edu
- Xhawaii = The Hawaiian Twins = joe, maoa
- X.ft 1
- X
- X.in 0
- X.fi
- Xwhich will then work correctly.
- X.sp
- XFortunately, while this seems fairly picky, when you run \f2newalias\f1
- Xto install the new aliases, you'll get relevant and meaningful
- Xerror messages to help you fix your aliases up correctly.
- X.sp
- X.hn 1 System Aliases
- X
- XSystem aliases are functionally equivalent to the individual \f3Elm\f1
- Xalias lists each \f3Elm\f1 user has (both user aliases and group aliases)
- Xbut are \f2read only\f1 for everyone but the \f3Elm\f1 administrator. The
- Xformat of the file is identical to the users file, and the only difference is
- Xthat this file is expected to be located in the directory that contains
- Xthe \f2system_hash_file\f1 and \f2system_data_file\f1 files (see the
- X\f2Elm Configuration Guide\f1 for more details on these variables).
- X.pg
- XSimply create the system alias file in the specified directory
- Xas you would a normal alias file, and install it the same way (see the
- Xfollowing section for more details on that).
- X.pg
- XVoila!!
- X.sp
- X.hn 1 Editing and Installing New Aliases
- X
- XTo install new aliases, you need merely to create, or modify,
- Xthe file \f2.elm/aliases.text\f1 until you're
- Xsatisfied with it and it meets the requirements discussed above.
- XYou can then try to install it with the command;
- X
- X $ \f3newalias\f1
- X
- Xwhich will either report back the number of aliases installed
- Xor any errors encountered trying to parse and store the
- Xgiven alias list.
- X.pg
- XNote that blank lines are no problem and that comments are not only
- Xallowed but actually encouraged, and must have `\f3#\f1' as the first
- Xcharacter of each comment line.
- X.sp
- XFinally, if you find that you're hitting the ``Too many aliases'' error,
- Xthen you'll need to reconfigure the entire \f3Elm\f1 system (again,
- Xsee \f2The Elm Configuration Guide\f1).
- X.sp
- X.hn 1 The Hostname Routing Database
- X
- XFloating about on the various networks is a rather nifty program by
- Xa number of people, including Peter Honeyman and Steve Bellovin,
- Xcalled \f2pathalias\f1. What this software does is
- Xtake the Usenet articles in the group ``comp.mail.maps'' and change
- Xthem into a file of the form;
- X
- X \f2hostname\f1 <tab> \f2address\f1
- X
- Xwhich is then sorted alphabetically and stored in the file
- Xpointed to by \f2pathfile\f1 for \f3Elm\f1 (and other
- Xprograms) to use.
- X.pg
- XIf you don't have the program, or don't want to use it, you can
- Xsimulate this file by listing machines in the same format. The
- Xexact format expected is;
- X
- X \f2hostname\f1<tab>\f2machine-address\f1
- X
- Xwhere \f2hostname\f1 is a limited identifier (no special characters) and
- Xmachine-address MUST contain the sequence `%s' (and consequently
- Xany other percent signs that appear in the address must be paired)
- Xso that the call in the program ``sprintf(buffer, machine-address, username)''
- Xwill generate a valid return address.
- X.pg
- XBy way of example, here are a few entries from my own file;
- X
- X.ft CW
- X.in .5i
- X.TS
- Xl l.
- XHPL %s@hplabs
- XPARC %s%Xerox.PA.COM@hplabs
- Xamc-hq %s%AMC-HQ.ARPA@hplabs
- Ximsss %s%%IMSSS%AI.STANFORD.EDU@hplabs
- Xinfopro hplabs!infopro!%s
- Xinterleaf sun!interleaf!%s
- X.TE
- X.ft 1
- X
- X.in 0
- XAs you can see, the addresses can get pretty complicated. In fact
- Xit's due purely to the complexity of addresses that this file
- Xis so useful.
- X.sp
- X.ne 5
- XSome brief examples:
- X
- X.in .5i
- X.ft CW
- X.nf
- X$ \f3elm joe@HPL\f1
- X.ft CW
- XTo: joe@hplabs
- X$ \f3elm michelle@imsss\f1
- X.ft CW
- XTo: michelle%IMSSS%AI.STANFORD.EDU@hplabs
- X$ \f3elm fiedler@infopro\f1
- X.ft CW
- XTo: hplabs!infopro!fiedler
- X.ft 1
- X.fi
- X
- X.in 0
- XIf you'd like further information on the \f2pathalias\f1 program, try
- Xkeeping track of the entries in the netnews group \f2comp.sources.unix\f1 \(em
- Xit's posted about once a year or so...
- X.sp
- X.hn 1 The Domain Routing Database
- X
- XAnother interesting feature of the
- X\f3Elm\f1 system is the shorthand domain routing database.
- XThis is the same database (in the same strange format) as used by
- Xthe publically available \f2uumail\f1 program.
- X.pg
- XIn a nutshell, the file contains information of the form;
- X
- X.in .5i
- X\f2domain, path-to-gateway, rewrite-template\f1
- X.in 0
- X
- XThe \f2domain\f1 field must begin with a leading `.' and
- Xis usually ordered in the same way as the standard
- Xdomain entries (that is, ``\s8.HP.COM\s10'' not ``\s8.COM.HP\s10'').
- X.pg
- X\f2Path-to-gateway\f1 is routing information on how to get
- Xto the particular gateway that this domain expects, and
- Xalways is a machine/host name (to be found in the pathalias
- Xdatabase, see the previous section) preceded by a `>'
- Xcharacter.
- X.pg
- X\f2Rewrite-template\f1 is the most interesting of the
- Xthree, and is akin to a printf string for C. The
- Xchanges are that instead of `%s' `%d' and so on, the
- Xactual ``percent'' values represent various parts of
- Xthe address, namely;
- X
- X.in .5i
- X.TS
- Xc l.
- X\f3Symbol Represents\f1
- X%U The username in the To: address
- X%N The remote machine name
- X%D %N + domain information
- X%R path to %N from pathalias
- X%P \f2path-to-gateway\f1 entry
- X%% The `%' character
- X.TE
- X.in 0
- X
- Xwith this very un-intuitive setup, let's look at a few entries
- Xfrom the domains database and then see how they work:
- X
- X.nf
- X.ft CW
- X.in .5i
- X\&.EUR.UUCP, , , %R!%U
- X\&.ATT.COM, >att, , %P!%D!%U
- X\&.HP.COM, , , %R!%U
- X\&.UUCP, , , %R!%U
- X\&.COM, >hplabs, , %P!%U@%D
- X\&.CSNET, >hplabs, , %P!18:12:00%%D@CSNET-RELAY.ARPA
- X\&.EDU, >hplabs, , %P!%U@%D
- X.ft 1
- X.fi
- X.in 0
- X
- X(Note the presence of a third field that is always null.
- XThis is for compatibility with the \f2uumail\f1 program.
- XAlso notice that there is a space after each and every comma,
- Xeven if that field has an entry.)
- X.pg
- XTo see how it all works, let's suppose that we want to send a message
- Xto `jad@cs.purdue.edu'. This would break down into the following fields:
- X
- X.nf
- X.in .5i
- X%U = \f2jad\f1
- X%N = \f2cs\f1
- X%D = \f2cs.purdue.edu\f1
- X.in 0
- X
- X.fi
- XWhen the \f3Elm\f1 program matches the \f2.edu\f1 entry
- X
- X.nf
- X.in .5i
- X.ft CW
- X\&.EDU, >hplabs, , %P!%U@%D
- X.ft 1
- X.in 0
- X
- X.fi
- Xthe other field instantiated would be:
- X
- X.nf
- X.in .5i
- X%P = \f2path to hplabs\f1
- Xtemplate = \f2%P!%U@%D\f1
- X.in 0
- X.fi
- X
- XIf, say, our path to \f2hplabs\f1 was \f2hpcnoe!hplabs\f1, then
- Xthe fully expanded address would be:
- X
- X.nf
- X.ft CW
- X.in .5i
- Xhpcnoe!hplabs!jad@cs.purdue.edu
- X.ft 1
- X.in 0
- X.fi
- X
- X\f1and so on.
- X.sp
- XWhat does this mean to the average user? It means that you can
- Xfor the most part send mail to people on different networks by
- Xsimply using their full address, including any domain information,
- Xso that mail to addresses like ``Jack@AI.MIT.EDU'' will work,
- Xa message to ``SueAnn@BBN.MAILNET'' will work and so on!
- X.sp
- X.hn 1 Other Stuff not Covered Yet
- X
- XProbably the biggest question you have in your mind right now
- Xis ``But how the heck does this relate to my existing \f2Berkeley Mail\f1
- Xaliases and the lower-level \f2sendmail\f1 alias system??'' Well,
- Xrest assured that if you \f2really\f1 want to have
- Xyour aliases down in the transport you can. No problem. All you'll
- Xneed to do is to turn off the address validation routine in \f3Elm\f1.
- X.pg
- XAnd for those ex-\f2Berkeley Mail\f1 fans, you can translate your
- Xaliases into the format that \f3Elm\f1 wants by running them
- Xthrough the \f2awk\f1 script listed in the appendix.
- X.pg
- XFinally, if you have any problems or questions, try looking in
- Xthe \f2newalias\f1 manual entry, or dropping me a line at the
- X``usual'' email address.
- X.bp
- X.ce 99
- X\f3Appendix One
- XAn AWK Script for Translating Aliases from
- Xa \f2Berkeley Mail\fP ``.mailrc'' File to an \f2Elm\fP ``.elm/aliases.text''
- XFile\f1
- X.ce 0
- X.sp
- X.nf
- X
- X.ta .5i
- X.ft CW
- XBEGIN { print "# Elm .elm/aliases.text file, from a .mailrc file..."
- X print ""
- X }
- Xnext_line == 1 {
- X next_line = 0;
- X group = ""
- X for (i = 1; i <= NF; i++) {
- X if (i == NF && $i == "\\\\") sep = ""
- X else sep = ", "
- X if ($i == "\\\\") {
- X group = sprintf("%s,", group)
- X next_line = 1;
- X }
- X else if (length(group) > 0)
- X group = sprintf("%s%s%s", group, sep, $i);
- X else
- X group = $i;
- X }
- X print "\\t" group
- X }
- X$1 ~ /[Aa]lias | [Gg]roup/ {
- X if ( NF == 3)
- X print $2 " : user alias : " $3;
- X else {
- X group = ""
- X for (i = 3; i <= NF; i++) {
- X if (i == NF && $i == "\\\\") sep = ""
- X else sep = ", "
- X if ($i == "\\\\") {
- X group = sprintf("%s,", group)
- X next_line = 1;
- X }
- X else if (length(group) > 0)
- X group = sprintf("%s%s%s", group, sep, $i);
- X else
- X group = $i;
- X }
- X print $2 " : group alias : " group;
- X }
- X }
- X
- X.ft 1
- X.fi
- XNote: this script is contained in the release under the name ``mailrc.awk''
- Xin the utilities directory ``utils''.
- SHAR_EOF
- chmod 0444 doc/Alias.guide || echo "restore of doc/Alias.guide fails"
- echo "x - extracting doc/Config.guid (Text)"
- sed 's/^X//' << 'SHAR_EOF' > doc/Config.guid &&
- X\" @(#)$Id: Config.guid,v 2.13 89/03/29 16:56:35 syd Exp $
- X\"
- X\" A guide to the ELM alias system and so on.
- X\" format with:
- X\" 'troff tmac.n Config.guid > Config.fmtd'
- X\"
- X\" (C) Copyright 1986, 1987 Dave Taylor
- X\" (C) Copyright 1988, 1989 Usenet Community Trust
- X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames
- X\" etc. should go to:
- X\" Syd Weinstein elm@dsinc.UUCP (dsinc!elm)
- X\"
- X\" $Log: Config.guid,v $
- X\" Revision 2.13 89/03/29 16:56:35 syd
- X\" Update for 2.2 release
- X\"
- X\"
- X\"
- X.po 1i
- X.ds h0
- X.ds h1
- X.ds h2
- X.ds f0
- X.ds f1
- X.ds f2
- X.nr Hy 1
- X.nr Pt 1
- X.nr Pi 0
- X.lg 0
- X.rs
- X.za
- X.sp |3.0i
- X.ce 99
- X.ps 20
- X\f3Elm Configuration Guide\f1
- X.sp 4
- X.ps 12
- X\f2How to install and customize the Elm mail system\f1
- X.sp 2
- XDave Taylor
- X.sp
- XHewlett-Packard Laboratories
- X1501 Page Mill Road
- XPalo Alto CA
- X94304
- X.sp
- Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor
- X.sp 4
- X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
- X.sp
- XSyd Weinstein
- XDatacomp Systems, Inc.
- X3837 Byron Road
- XHuntingdon Valley, PA 19006-2320
- X.sp
- Xemail: elm\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1elm
- X.sp 3
- X.ps 18
- X\f3\(co\f1\s12 Copyright 1986,1987 by Dave Taylor
- X.ps 18
- X\f3\(co\f1\s12 Copyright 1988, 1989 by The USENET Community Trust
- X.ps 10
- X.bp 1
- X.sp 5
- X.ps 14
- X\f3Elm Configuration Guide\f1
- X.ds h0 "Elm Configuration Guide
- X.ds h1
- X.ds h2 "Version 2.2
- X.ds f0
- X.ds f1 "Page %
- X.sp
- X.ps 10
- X(Version 2.2)
- X.sp 2
- XDave Taylor
- X.sp
- XHewlett-Packard Laboratories
- X1501 Page Mill Road
- XPalo Alto CA
- X94304
- X.sp
- Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor
- X.sp 2
- X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
- X.sp
- X.sp
- XSyd Weinstein
- XDatacomp Systems, Inc.
- X3837 Byron Road
- XHuntingdon Valley, PA 19006-2320
- X.sp
- Xemail: elm\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1elm
- X.sp 2
- XApril 1, 1989
- X.ce 0
- X.sp 3
- X.pg
- XThis document is intended as a supplement to the \f2Elm Users Guide\f1
- Xand \f2Elm Reference Guide\f1
- Xand should be of interest mainly to people at a site either installing
- Xor maintaining the source code to the \f3Elm\f1 mail system, or
- Xmodifying the code.
- X.sp
- XIt is \f2required\f1 that installation be done by using the
- X\f2Configure\f1 script supplied with the system. Please see the
- Xfile \f2Instruct\f1 for further information on running \f2Configure\f1.
- X.sp
- XThe remainder of this document will discuss the various questions
- Xasked by the \f2Configure\f1 script and the
- Xoptions available via direct editing of various files and
- Xparameters. As indicated above, almost all of the sites that install
- X\f3Elm\f1 should find the \f2Configure\f1 script more than
- Xsufficient.
- X.hu Using Configure
- X.pg
- X\f2Configure\fP is a shell script that will automatically determine the
- Xtype of system it is running on and tune the parameters of Elm to fit
- Xthat system and its environment. Where the installer has a choice, it
- Xasks questions of the installer. \f2Configure\fP provides its own
- Xinstructions when run, so they are not repeated here. However, when
- Xthe installer is presented with a choice, this next section explains
- Xsome of the options available. Not all the questions or options to
- Xthose questions are explained.
- X.sp 2
- X.pg
- XEnable calendar feature?
- X.sp
- XElm has a feature to take specially marked lines within mail messages
- Xand add them to a file for use by the system calendar program. The
- Xcommand to do this extraction needs to be enabled to work. There is
- Xalso a follow on question regarding the name of the calendar file:
- X.pg
- XDefault calendar file?
- X.sp
- Xwhich is usually calendar on most systems. This file will reside in the
- Xusers home directory, not their .elm directory.
- X.pg
- XDoes your /etc/passwd file keep full names in Berkeley/V7 format (name
- Xfirst thing after ':' in GCOS field)?
- X.sp
- XElm uses the full name from the password file if it is available.
- XThere are two major ways this name is stored. Berkeley/V7 systems
- Xplace the name as the entire GCOS field string, that is it starts
- Xdirectly after the ':' that delimits the fields. USG
- X.ux " Systems" (
- XGroup, or AT&T) systems put the users name after a department number
- Xand separate it from that number by a '-'. The end of the users full
- Xname in these systems is a '('. Look at your /etc/password file and if
- Xeither version applies, answer yes to that version. If neither
- Xapplies, answer no. Elm can still get the users name from the
- X".fullname" file in their home directory.
- X.pg
- XEvery now and then someone has a (gethostname, uname) that lies about
- Xthe hostname but can't be fixed for political or economic reasons.
- XWould you like to pretend (gethostname, uname) isn't there and maybe
- Xcompile in the hostname?
- X.sp
- XElm needs to know the correct name of the host on which it is executing
- Xto be able to create the proper headers for the outbound mail. Some systems
- Xuse one name for uucp and another name for the system and others just don't
- Xreply to the subroutines with the proper name. In this case it will be
- Xnecessary to compile in the name. In all other cases this should not
- Xbe needed. It is provided just in case there is a problem with your
- Xsystem.
- X.pg
- XDoes your mailer understand INTERNET addresses?
- X.sp
- XElm will work with systems that can process the `@' character of INTERNET
- Xformat addresses or with the `!' format of uucp addresses. If your
- Xmail delivery agent understands the `@' format addresses, they should be
- Xused and this question is answered yes. If when you send mail with the
- X`@' format addresses (such as elm@dsinc), they bounce, then answer this
- Xquestion no.
- X.pg
- XAm I going to be running as a setgid program?
- X.sp
- XOn USG type systems and many other types,
- Xaccess to the mailboxes and the mailbox directory
- Xis via the group permissions. The mail user agents, such as Elm, need
- Xwrite access into this directory to be able to move the mailbox around
- Xdue to internal editing and to create lock files. If the permissions
- Xon your mailbox directory are drwxrwxr-x, then Elm needs to be a setgid
- Xprogram.
- X.pg
- XWhat is the default editor on your system?
- X.sp
- XIf no editor is specified in the users .elm/elmrc file, this is which
- Xeditor to use. The editor is used to compose outbound mail messages.
- X.pg
- XWhat pager do you prefer to use with Elm?
- X.sp
- XThis is the standard pager to use for reading messages.
- XBesides the usual system pagers, two Elm specific internal options
- Xexist: builtin and builtin+. The built-in pager is faster to execute
- Xbut much less flexible than the system provided pagers. The + version
- Xjust clears the page before displaying the next page. Otherwise the
- Xtwo versions are identical.
- X.hu Other Configurable Parameters
- X.pg
- XThe following parameters rarely need to be changed, but are provided if
- Xyou need them. \f2Configure\fP does not prompt for their values. To
- Xchange them, edit the \f2hdrs/sysdefs.h\f1 file directly after running
- XConfigure.
- X.lp FIND_DELTA 1.0i
- XThis is the delta that the binary search of the pathalias database
- Xwill use to determine when it's slicing up a single line, rather than
- Xa multitude of lines. Ideally, this should be set to 1 byte less
- Xthan the shortest line in the file...the default is 10 bytes.
- X.lp MAX_IN_WEEDLIST 1.0i
- XThe maximum number of headers that can be specified in the weedout
- Xlist of the .elm/elmrc file. A suggested alternative approach if this
- Xnumber is too small is to specify initial substrings in the file
- Xrather than increasing the number. For example, say you want to
- Xweedout the headers ``Latitude:'' and ``Latitudinal-Coords:'', you
- Xcould simply specify ``Latitud''" and match them both! Furthermore
- Xyou could also specify headers like ``X-'' and remove all the user
- Xdefined headers!
- X.lp MAX_HOPS 1.0i
- XWhen replying to a G)roup, this is the maximum number of hops that
- Xa message can have taken. This is used to try to optimize the
- Xreturn address (remove cyclic loops and so on) and regular use
- Xshould show that the default of 35 is plenty more than you'll
- Xever need!
- X.lp system_text_file 1.0i
- XThis is the source text file for the system level aliases.
- XSee either the \f2newalias(1L)\f1 man page, or \f2The Elm
- XAlias System Users Guide\f1 for further details.
- X.lp system_hash_file 1.0i
- XThis is the file that contains the hashed version of the system
- Xaliases.
- X.lp system_data_file 1.0i
- XThis is the other file the \f2newalias\f1 command installs in the system
- Xalias area and contains the actual addresses for each of the aliases
- Xcontained in the hashed data file.
- X.lp ALIAS_TEXT 1.0i
- XThis is where the individual users alias text file lives.
- X.lp ALIAS_HASH 1.0i
- XWhere the hashed aliases are stored,
- X.lp ALIAS_DATA 1.0i
- Xand where the alias address data itself is kept.
- X.lp DEBUGFILE 1.0i
- XThe name of the file to put in the users home directory if they choose to
- Xuse the `-d' debug option.
- X.lp OLDEBUG 1.0i
- XThe name of the file to save the previous debug output as. (this feature
- Xwas added to ensure that users wanting to mail bug reports wouldn't
- Xautomatically overwrite the debug log of the session in question)
- X.lp temp_lock_dir 1.0i
- XDirectory for lock files for XENIX.
- X.lp temp_file 1.0i
- XTemporary file for sending outbound messages.
- X.lp temp_form_file 1.0i
- XA place to store temporary forms (for Forms Mode) while answering them.
- X.lp temp_mbox 1.0i
- XPlace to keep copy of incoming mailbox to avoid collisions with newer
- Xmail.
- X.lp temp_print 1.0i
- XFile to use when creating a printout of a message.
- X.lp temp_edit 1.0i
- XFile to use when editing the mailbox file on XENIX.
- X.lp temp_uuname 1.0i
- XWhere to redirect output of the \f2uuname(1M)\f1 command.
- X.lp mailtime_file 1.0i
- XFile to compare date to to determine if a given message is New
- Xsince the last time the mail was read or not.
- X.lp readmsg_file 1.0i
- XFile to use when communicating with the \f2readmsg\f1 program (see
- Xthat program for more information)
- X.lp smflags 1.0i
- XDefines the flags to hand to \f2sendmail\f1 if and when the program
- Xchooses to use it.
- X.lp smflagsv 1.0i
- XDefines the flags to hand to \f2sendmail\f1 in verbose voyuer mode.
- X.lp mailer 1.0i
- XIf you don't have \f2sendmail\f1, this is the mailer that'll be used.
- X.lp helpfile 1.0i
- XThe help file name prefix.
- X.lp ELMRC_INFO 1.0i
- XThe file containing textual messages associated with each
- X\f3Elm\f1 variable setting in the users ``.elm/elmrc''
- Xfile. This is used when the user chooses to auto-save the
- Xoptions from within the main program.
- X.lp elmrcfile 1.0i
- XThe name of the automatic control file (currently \f2.elmrc\f1)
- X.lp old_elmrcfile 1.0i
- XWhen a new elmrc file is saved, the old one is also saved, being
- Xrenamed to whatever this identifier is set to.
- X.lp mailheaders 1.0i
- XThe name of the optional file that users may have that will be
- Xincluded in the headers of each outbound message.
- X.lp dead_letter 1.0i
- XIf the user decides not to send a message it will instead be saved
- Xto this filename in their home directory.
- X.lp unedited_mail 1.0i
- XIn the strange case when the mailer suddenly finds all the directories
- Xit uses shut off (like \f2/usr/mail\f1 and \f2/tmp\f1)
- Xthen it'll put the current
- Xmailbox into this file in the users home directory.
- X.lp newalias 1.0i
- XHow to install new aliases..(note: you MUST have the '-q' flag!)
- X.lp readmsg 1.0i
- XWhat the \f2readmsg(1L)\f1 program is installed as.
- SHAR_EOF
- chmod 0444 doc/Config.guid || echo "restore of doc/Config.guid fails"
- echo "x - extracting doc/Elm.cover (Text)"
- sed 's/^X//' << 'SHAR_EOF' > doc/Elm.cover &&
- X\" @(#)$Id: Elm.cover,v 2.8 89/03/25 21:44:51 syd Exp $
- X\"
- X\" Cover sheet for the ELM mail system...
- X\" format with
- X\" troff tmac.n Elm.cover > Coversheet.fmtd'
- X\"
- X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames
- X\" etc. should go to:
- X\" Syd Weinstein elm@dsinc.UUCP (dsinc!elm)
- X\"
- X\" (C) Copyright 1986, 1987 Dave Taylor
- X\" (C) Copyright 1988, 1989 Usenet Community Trust
- X\"
- X\" $Log: Elm.cover,v $
- X\" Revision 2.8 89/03/25 21:44:51 syd
- X\" Initial 2.2 Release checkin
- X\"
- X\"
- X.po 1i
- X.ds h0
- X.ds h1
- X.ds h2
- X.ds f0
- X.ds f1
- X.ds f2
- X.nr Hy 1
- X.nr Pt 1
- X.nr Pi 8
- X.lg 0
- X.rs
- X.za
- X.sp |3.0i
- X.ce 99
- X.ps 25
- X\fBThe \s26Elm\s25 Mail System\fR
- X.sp 2
- X.ps 14
- X\fIA Replacement Mailer for All Unix Systems\fR
- X.sp 4
- XDave Taylor
- X.sp 2
- XHewlett-Packard Laboratories
- X1501 Page Mill Road
- XPalo Alto CA
- X94304
- X.sp 2
- Xemail: taylor\s12@\s14hplabs \ or \ hplabs!taylor
- X.sp 5
- X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
- X.sp
- XSyd Weinstein
- XDatacomp Systems, Inc.
- X3837 Byron Road
- XHuntingdon Valley, PA 19006-2320
- X.sp
- Xemail: elm\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1elm
- SHAR_EOF
- chmod 0444 doc/Elm.cover || echo "restore of doc/Elm.cover fails"
- echo "x - extracting doc/Filter.guid (Text)"
- sed 's/^X//' << 'SHAR_EOF' > doc/Filter.guid &&
- X\" @(#)$Id: Filter.guid,v 2.8 89/03/30 16:07:43 syd Exp $
- X\"
- X\" A guide to the Elm Filter program
- X\" format with:
- X\" 'tbl tmac.n Filter.guid | troff > Filter.format'
- X\"
- X\" (C) Copyright 1986, 1987 Dave Taylor
- X\" (C) Copyright 1988, 1989 Usenet Community Trust
- X\"
- X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames
- X\" etc. should go to:
- X\" Syd Weinstein elm@dsinc.UUCP (dsinc!elm)
- X\"
- X\" $Log: Filter.guid,v $
- X\" Revision 2.8 89/03/30 16:07:43 syd
- X\" First tmac.n checkin
- X\"
- X\"
- X.tm Have we been run through "tbl" first?? I hope so!
- X.po 1i
- X.ds h0
- X.ds h1
- X.ds h2
- X.ds f0
- X.ds f1
- X.ds f2
- X.nr Hy 1
- X.nr Pt 1
- X.nr Pi 8
- X.lg 0
- X.rs
- X.za
- X.sp |3.0i
- X.ce 99
- X.ps 20
- X.ss 18
- X.vs 12
- X\f3The Elm Filter System Guide\f1
- X.sp 7
- X.ps 12
- X\f2What the filter program is, what it does,
- Xand how to use it\f1
- SHAR_EOF
- echo "End of part 3"
- echo "File doc/Filter.guid is continued in part 4"
- echo "4" > s2_seq_.tmp
- exit 0
-
-